package com.neulogistics.contrib.warehouse.api.application.query;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.neulogistics.contrib.warehouse.api.application.viewmodel.WarehouseTreeViewModel;
import com.neulogistics.contrib.warehouse.api.application.viewmodel.WarehouseViewModel;
import com.neulogistics.contrib.warehouse.domain.model.valueobject.Address;

import java.util.List;
import java.util.Map;

public interface IWarehouseQueryService {
    WarehouseViewModel getById(Integer id);

    List<WarehouseTreeViewModel> list();

    Page<WarehouseViewModel> page(WarehouseQuery warehouseQuery);

    Map<String, List> getRecommendedWarehouse(Address address);

    List<Integer> getAllWarehouseId();
}
